﻿using Common.BaseLibrary.Domain;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace DepartmentWork.Migrator.Data
{
    /// <summary>
    /// 请假表
    /// </summary>
    [Serializable]
    public class PROJECT_DESK_LEAVE : IEntity
    {

        /// <summary>
        /// PK
        /// </summary>
        [DisplayName("请假编号"), Required, Key]
        public Guid LEAVE_ID { get; set; }


        /// <summary>
        /// 请假人ID
        /// </summary>
        [DisplayName("请假人ID"), Required]
        //[RegularExpression(@"([A-Za-z][\u4E00-\u9FA5])+$")]
        public Guid Leave_NAMEID { get; set; }


        /// <summary>
        /// 请假申请时间
        /// </summary>
        [DisplayName("请假申请时间"), Required]
        public DateTime LEAVE_TIME { get; set; }

        /// <summary>
        /// 请假类别
        /// </summary>
        [DisplayName("请假类别"), Required]
        public string LEAVE_CLASSES { get; set; }

        /// <summary>
        /// 请假事由
        /// </summary>
        [DisplayName("请假事由"), Required]
        public string LEAVE_CAUSE { get; set; }
        /// <summary>
        /// 审批结果
        /// 0是未通过
        /// 1是通过
        /// </summary>
        [DisplayName("审批结果")]
        public string LEAVE_APPROVERRESULT { get; set; }

        /// <summary>
        /// 本月请假次数
        /// </summary>
        [DisplayName("本月请假次数")]
        public int LEAVE_QUANTITY { get; set; }

        /// <summary>
        /// 请假天数
        /// </summary>
        [DisplayName("本月请假天数"), Required]
        public int LEAVE_HOWMANYDAYS { get; set; }


        /// <summary>
        /// 审批人姓名
        /// </summary>
        [DisplayName("审批人姓名"), StringLength(20), Required]
        public string LEAVE_APPROVER { get; set; }








        /// <summary>
        /// 请假开始日期
        /// </summary>
        [DisplayName("请假开始日期"), Required]
        public DateTime LEAVE_BEGAIN_DAY { get; set; }


        /// <summary>
        /// 请假结束日期
        /// </summary>
        [DisplayName("请假结束日期"), Required]
        public DateTime LEAVE_END_DAY { get; set; }


        /// <summary>
        /// 审批人ID
        /// </summary>
       [DisplayName("审批人ID"), Required]
        public Guid LEAVE_OVERNAME { get; set; } 


    }
}
